#ifndef WGLKEYBOARDHANDLER_H
#define WGLKEYBOARDHANDLER_H
#include "StompedReality/Core/Input/KeyboardHandler.h"
#include <set>
namespace StompedReality
{
namespace Input
{
/*!
 *
 * \author	Stefan Kazalski
 *
 * \brief	Windows keyboard handler
 */
class WGLKeyboardHandler : public KeyboardHandler
{
 private:

  bool* m_Keys;
  std::set<int> m_DownSet;
  std::set<int> m_UpSet;

 public:

  //! \brief	Constructor.
  WGLKeyboardHandler( );

  //! \brief	Destructor.
  ~WGLKeyboardHandler( );

  //! \brief	Updates the keys.
  void UpdateKeys( );

  //! \brief	Initialize handler.
  void Intialize( );

  //! \brief	Processes a system message.
  //! \param	msg		The system message.
  void ProcessMessage( StompedReality::Core::SystemMessage* msg );
};

}
}
#endif // GLFWKEYBOARDHANDLER_H
